package com.wang.utils.recursion;

/**
 * @author 10570
 * @date 2021/7/26 23:12
 * 递归
 *  自身调用自己
 */
public class RecursionDemo {
    public static void main(String[] args) {
        test(3);
        System.out.println(factorial(10));
    }
    public static void test(int n){
        if (n>1){
            test(n-1);//每进行一次开辟了独立的空间（创建独立的栈）
        }/*else {  //加了else就只输出顶层的栈  n=1

            System.out.println(n);
        }*/
        System.out.println(n);
    }

    //阶乘
    public static double factorial(int n){
        if (n == 0)
            return 1;
        else return n * factorial(n-1);
    }
}
